第 6 步:添加对测试仪表盘的支持

添加支持以将我们的测试结果提交到仪表盘很容易。我们已在 测试支持 中为我们的项目定义了许多测试。现在我们只需要运行这些测试,并将它们提交到 CDash 中。

练习 1 - 将结果发送到测试仪表盘

目标

使用 CDash 显示我们的 CTest 结果。

有帮助的资源

要编辑的文件

  • CMakeLists.txt

入门

对于此练习,在顶级 CMakeLists.txt 中完成 TODO 1,通过包含 CTest 模块。这将启用对 CTest 的测试以及向 CDash 提交仪表盘,因此我们可以安全地删除对 enable_testing() 的调用。

我们还需要获取一个 CTestConfig.cmake 文件放入顶级目录。运行时,ctest 可执行文件会读取此文件来收集有关测试仪表盘的信息。它包含

  • 项目名称

  • 项目的“每日”开始时间

    • 此项目的一天 24 小时“开始”的时间

  • 将发送提交生成文档的 CDash 实例的 URL

对于本教程,使用了公共仪表盘服务器,并为您在本步骤的根目录中提供了其对应的 CTestConfig.cmake 文件。在实际中,此文件将从 CDash 实例上的某个项目的 Settings 页面下载,该实例用于托管测试结果。从 CDash 下载后,不应在本地修改此文件。

CTestConfig.cmake
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)

构建和运行

请注意,作为 CDash 提交的一部分,某些有关您的开发系统的信息(例如站点名称或完整路径名)可能会公开显示。

要创建简单的测试仪表盘,请运行 cmake 可执行文件或 cmake-gui 以配置项目,但不要构建项目。相反,导航到构建目录并运行

ctest [-VV] -D Experimental

请记住,对于多配置生成器(例如 Visual Studio),必须指定配置类型

ctest [-VV] -C Debug -D Experimental

或者,从 IDE 构建 Experimental 目标。

ctest 可执行文件将构建项目、运行所有测试,并将结果提交到 Kitware 的公共仪表盘: https://my.cdash.org/index.php?project=CMakeTutorial

解决方案

在本步骤中所需的唯一更改的 CMake 代码是通过在顶层 CMakeLists.txt 中包含 CTest 模块,启用到 CDash 的仪表盘提交

TODO 1:单击显示/隐藏答案
TODO 1:CMakeLists.txt
include(CTest)